﻿//受限空间清单
var $ConfinedSpace = {
    DealUrl: function (vueApp, url, type, param) {
        var my = vueApp;
        switch (url) {
            ////删除
            case '/api/ConfinedSpace/DeleteMuti': Mock.mock(host + url, type, function (options) {
                var delIDs = options.body;
                var temp = [];
                for (var i = 0; i < $ConfinedSpace.List.length; i++) {
                    temp.push($ConfinedSpace.List[i]);
                }
                for (var i = 0; i < temp.length; i++) {

                    if (delIDs.includes(temp[i].id)) {
                        $ConfinedSpace.List.splice(temp[i], 1);
                    }
                }
                return { result: "Success", message: null, data: null };
            }); break;
            //获取List数据
            case '/api/ConfinedSpace/GetList': Mock.mock(host + url, type,
                function (options) {
                    var delIDs = options.body;
                    if ($ConfinedSpace.List.length == 0) {
                        $ConfinedSpace.InitArray();
                    }
                    var p = JSON.parse(options.body);
                    //条件
                    var id = p.model.id;
                    var Editor = p.model.Editor;
                    var Auditor = p.model.Auditor;
                    var ApprovedBy = p.model.ApprovedBy;
                    //分页
                    var offset = p.offset;
                    var limit = p.limit;
                    var limitUsers2 = [];
                    for (var i = 0; i < $ConfinedSpace.List.length; i++) {
                        var user = $ConfinedSpace.List[i];
                        if (id && user.id.indexOf(id) == -1)
                            continue;
                        if (Editor && user.Editor.indexOf(Editor) == -1)
                            continue;
                        if (Auditor && user.Auditor.indexOf(Auditor) == -1)
                            continue;
                        if (ApprovedBy && user.ApprovedBy.indexOf(ApprovedBy) == -1)
                            continue;
                        limitUsers2.push(user);
                    }

                    var limitUsers = [];
                    for (var i = 0; i < limitUsers2.length; i++) {
                        if (i < offset + limit && i >= offset) {
                            limitUsers.push(limitUsers2[i]);
                        }
                    }
                    return {
                        result: "Success", message: null,
                        data: { pageData: limitUsers, rowCount: limitUsers2.length }
                    };
                }); break;

            ////获取Input数据
            case '/api/ConfinedSpace/getMock': Mock.mock(host + url + '?' + param, type, function (options) {
                var GasTest = [];//气体检测
                for (var i = 0; i < 6; i++) {
                    GasTest.push({
                        DetectionTime: Mock.Random.datetime(),
                        DetectionPosition: Mock.mock('@cword(5)'),
                        OxygenConcentration: (i + 1) * (i + 2) + '%',
                        CombustibleGasConcentrationLEL: (i + 1) * (i + 2) + '%',
                        ToxicGasConcentration: (i + 1) * (i + 3) + 'ppm',
                        TestConclusion: Mock.mock('@cword(5)'),
                        TesterSignature: '',//Mock.Random.cname(),
                    })
                }
                var SaftyMeasures = [];//安全措施
                for (var i = 0; i < ConfinedSpaceMeasures.length; i++) {
                    SaftyMeasures.push({
                        SaftyMeasures: ConfinedSpaceMeasures[i],
                        Implementation: '已落实',//落实情况
                        ConfirmerSignature: '',//Mock.Random.cname(),//确认人签字
                    })
                }

                var BasedDatabaseManagementRequirements1 = [];//管控要求1
                var BasedDatabaseManagementRequirements2 = [];//管控要求2
                for (var i = 0; i < 3; i++) {
                    BasedDatabaseManagementRequirements1.push({
                        UserName: Mock.Random.cname(),
                        InConfinedSpaceTime: Mock.Random.datetime(),
                        OutConfinedSpaceTime: Mock.Random.datetime(),
                        ConfirmerSignature: '',//Mock.Random.cname()
                        SignTime: Mock.Random.datetime(),
                    })
                    BasedDatabaseManagementRequirements2.push({
                        MaterialName: Mock.mock('@cword(5)'),
                        Count: (i + 1) * 100,
                        InConfinedSpaceTime: Mock.Random.datetime(),
                        OutConfinedSpaceTime: Mock.Random.datetime(),
                        ConfirmerSignature: '',//Mock.Random.cname()
                        SignTime: Mock.Random.datetime(),
                    })
                }
                var AffectedParties = []//受影响相关方
                for (var i = 0; i < 2; i++) {
                    AffectedParties.push({
                        name:'',// Mock.Random.cname(),
                        date: Mock.Random.datetime(),
                    })
                }



                var result = {
                    BelongUnit: Mock.mock('@cword(5)'),//属地单位
                    WorkingArea: Mock.mock('@cword(5)'),//作业区域
                    RestrictedSpaceName: Mock.mock('@cword(5)'),//受限空间内原危险介质名称
                    JobLocation: Mock.mock('@cword(5)'),//作业位置
                    WorkContent: Mock.mock('@cword(50)'),//     作业内容描述
                    GasDetector: Mock.Random.cname(),//气体检测人：XXXXXXX
                    TestingRequirements: Mock.mock('@cword(10)'),//检测要求：XXXXXXXX
                    GasTest: GasTest,//气体检测
                    SaftyMeasures: SaftyMeasures,//安全措施
                    BasedDatabaseManagementRequirements1: BasedDatabaseManagementRequirements1,//基于数据库管控要求
                    BasedDatabaseManagementRequirements2: BasedDatabaseManagementRequirements2,//基于数据库管控要求
                    AffectedParties: AffectedParties,//受影响相关方
                    JobManagerProple: '',//作业负责人
                    Approver: '',//审批人
                    Operator: '',//作业人
                    Guardian: '',//监护人
                    RelatedPeople: '',//作业负责人
                    contractor: Mock.Random.boolean(),//承包商
                    InvolvingOtherSpecialOperationsChecked: ['动火', '高处'],//涉及其他特殊作业
                    IsNotSaftyCase: '2',//是否附安全作业方案
                    IsDrawing: '1',//是否附图纸
                    IsNotEmergencyPlan: '2',//是否附应急预案
                    JobTypeChceked: ['焊接', '锤击'],
                    MaybeRiskChceked: ['有毒有害化学品', '空间内活动受限'],
                };
                return {
                    result: "Success", message: null, data: result
                };
            }); break;
            ////获取Input数据
            case '/api/ConfinedSpace/get': Mock.mock(host + url + '?' + param, type, function (options) {
                if (parent.$ConfinedSpace.List.length == 0) {
                    alert(12);
                    parent.$ConfinedSpace.InitArray();
                }
               
                var myUsers = parent.$ConfinedSpace.List;

                myuser = {};
                var bool = true;
                for (var i = 0; i < myUsers.length; i++) {
                    if (myUsers[i].id == vueApp.id) {
                        myuser = myUsers[i];
                        bool = false;
                        break;
                    }
                }
                if (bool) {
                    myuser.id = Mock.Random.id();
                }
                return {
                    result: "Success", message: null, data: myuser
                };
            }); break;
            ////提交
            case '/api/ConfinedSpace/Save': Mock.mock(host + url, type, function (options) {
                var thisuser = JSON.parse(options.body);
                var thisUsers = parent.$ConfinedSpace.List;
                var cz = true;
                for (var i = 0; i < thisUsers.length; i++) {
                    if (thisUsers[i].id == thisuser.id) {
                        thisUsers[i].Editor = thisuser.Editor;
                        thisUsers[i].Auditor = thisuser.Auditor;
                        thisUsers[i].ApprovedBy = thisuser.ApprovedBy;
                        thisUsers[i].List = thisuser.List;
                        cz = false;
                        break;
                    }
                }
                if (cz) {
                    parent.$ConfinedSpace.List.unshift({
                        id: Mock.Random.id(),
                        Editor: thisuser.Editor,//编制人
                        Auditor: thisuser.Auditor,//审核人
                        ApprovedBy: thisuser.ApprovedBy,//批准人
                        Date: Mock.Random.datetime(),//填报时间
                        List: thisuser.List,
                    });
                }
                return { result: "Success", message: null, data: null };
            }); break;
            case '/api/ConfinedSpace/getInputTable': Mock.mock(host + url + '?' + param, type, function (options) {
                var myUsers = parent.parent.$ConfinedSpace.List;

                console.log('myUsers', myUsers)
                myuser = [];
                for (var i = 0; i < myUsers.length; i++) {
                    if (myUsers[i].id == vueApp.id) {
                        myuser = myUsers[i];
                    }
                }
                return {
                    result: "Success", message: null, data: myuser
                };
            }); break;
            case '/api/ConfinedSpace/SaveInputTable': Mock.mock(host + url, type, function (options) {
                var thisuser = JSON.parse(options.body);
                var thisUsers = parent.parent.$ConfinedSpace.List;
                var cz = true;
                for (var i = 0; i < thisUsers.length; i++) {
                    if (thisUsers[i].id == thisuser.id) {
                        thisUsers[i].List = thisuser.List;
                        cz = false;
                        break;
                    }
                }
                if (cz) {
                    parent.parent.$ConfinedSpace.List.unshift({
                        id: Mock.Random.id(),
                    });
                }
                return { result: "Success", message: null, data: null };
            }); break;

        }
    },
    List: [],
    InitArray: function () {
        var thisList = [];
        var list = $ConfinedSpace.generateData();
        for (var i = 0; i < 3; i++) {
            thisList.push(list[i]);
        }
        for (var i = 0; i < 20; i++) {
            var PersonInChargePidA = randomTreeNode(PersonInChargeTree, '0', true);
            var PersonInChargePidB = randomTreeNode(PersonInChargeTree, '0', true);
            var PersonInChargePidC = randomTreeNode(PersonInChargeTree, '0', true);
            var PersonInChargeIdA = randomTreeNode(PersonInChargeTree, PersonInChargePidA);
            var PersonInChargeIdB = randomTreeNode(PersonInChargeTree, PersonInChargePidB);
            var PersonInChargeIdC = randomTreeNode(PersonInChargeTree, PersonInChargePidC);

            $ConfinedSpace.List.push(Mock.mock({
                id: Mock.Random.id(),//编号
                Editor: PersonInChargeIdB,//编制人
                Auditor: PersonInChargeIdA,//审核人
                ApprovedBy: PersonInChargeIdC,//批准人
                Date: Mock.Random.datetime(),//填报时间
                List: thisList,
            }));

        }
    },
    //随机产生
    generateData: function () {
        const data = [];
        for (let i = 1; i <= 15; i++) {
            data.push(Mock.mock({
                key: i,
                code: '201906192000' + i,
                id: Mock.Random.id(),//编号
                Department: randomTreeNode(PersonInChargeTree, '0', true),//部门
                Name: '测试名称' + i,//名称
                Location: Mock.mock('@cword(5)'),//所处位置
                StorageMedia: Mock.mock('@cword(5)'),//储存的介质
                RiskFactors: Mock.mock('@cword(5)'),//存在的危险因素
                Remark: Mock.mock('@cword(5)'),//备注
            }));
        }
        return data;
    }
}
//盲板抽堵作业安全许可证
var $BlindPlateDrainage = {
    DealUrl: function (vueApp, url, type, param) {
        var my = vueApp;
        switch (url) {
            //获取Input数据
            case '/api/BlindPlateDrainage/getMock': Mock.mock(host + url + '?' + param, type, function (options) {

                var SaftyMeasures = [];//安全措施
                for (var i = 0; i < BlindPlateDrainageMeasures.length; i++) {
                    SaftyMeasures.push({
                        SaftyMeasures: BlindPlateDrainageMeasures[i],
                        Implementation: '已落实',//落实情况
                        ConfirmerSignature:'',// Mock.Random.cname(),//确认人签字
                    })
                }


                var DevicePipeList = [];//设备管理列表
                for (var i = 0; i < 3; i++) {
                    DevicePipeList.push({
                        DevicePipeName: Mock.mock('@cword(5)'),
                        Position: Mock.mock('@cword(5)'),
                        Material: Mock.mock('@cword(5)'),
                        Specification: Mock.mock('@cword(5)'),
                        BlindPlateOperator: Mock.Random.cname(),
                        BlindTime: Mock.Random.datetime(),
                        BlindPanelGuardian: Mock.Random.cname(),
                        BlindPlateOperator: Mock.Random.cname(),
                        BlockingTime: Mock.Random.datetime(),
                        BlockingGuardian: Mock.Random.cname(),
                    })
                }

                var result = {
                    SaftyMeasures: SaftyMeasures,//安全措施
                    DevicePipeList: DevicePipeList,//设备管理列表
                    JobManagerProple: '',//作业负责人
                    Approver: '',//审批人
                    applicant: '',//申请人
                    contractor: Mock.Random.boolean(),//承包商
                    TerritorialDepartment: '生产部',
                    OperatingUnit: '某单位',
                    JobType: '1'
                };
                return {
                    result: "Success", message: null, data: result
                };
            }); break;
        }
    }
}
//临电作业安全许可证审批
var $TemporaryElectricityJob = {
    DealUrl: function (vueApp, url, type, param) {
        var my = vueApp;
        switch (url) {
            //获取Input数据
            case '/api/TemporaryElectricityJob/getMock': Mock.mock(host + url + '?' + param, type, function (options) {

                var SaftyMeasures = [];//安全措施
                for (var i = 0; i < TemporaryElectricityJobMeasures.length; i++) {
                    SaftyMeasures.push({
                        SaftyMeasures: TemporaryElectricityJobMeasures[i],
                        Implementation: '已落实',//落实情况
                        ConfirmerSignature:'',// Mock.Random.cname(),//确认人签字
                    })
                }




                var result = {
                    WorkContent: Mock.mock('@cword(20)'),//作业内容
                    applicant: Mock.Random.cname(),//申请人
                    ApplicationDepartment: '某部门',//申请部门
                    SaftyMeasures: SaftyMeasures,//安全措施
                    JobManagerProple: '',//作业负责人
                    Approver: '',//审批人
                    JobManagere: '',//申请人
                    contractor: Mock.Random.boolean(),//承包商
                    OperatingUnit: '某单位',//作业单位
                    JobLocation: '某地点',//作业地点
                    Pick_upPointPosition: '某位置',//取电点位置
                    TemporaryElectricityUser: Mock.Random.cname(),//临时用电人
                    WiringElectrician: Mock.Random.cname() + '(' + Mock.Random.id() + ')',//接线电工（包括电工证证号）
                    DisconnectingElectrician: Mock.Random.cname() + '(' + Mock.Random.id() + ')',//拆线电工（包括电工证证号）	
                    PowerPointOperatingVoltage: '50V',//取电点工作电压
                    ElectricalEquipmentPower: '800W',//用电设备及功率
                };
                return {
                    result: "Success", message: null, data: result
                };
            }); break;
        }
    }
}
//管线打开作业安全许可证审批
var $PipelineOpenJob = {
    DealUrl: function (vueApp, url, type, param) {
        var my = vueApp;
        switch (url) {
            //获取Input数据
            case '/api/PipelineOpenJob/getMock': Mock.mock(host + url + '?' + param, type, function (options) {

                var SaftyMeasures = [];//安全措施
                for (var i = 0; i < TemporaryElectricityJobMeasures.length; i++) {
                    SaftyMeasures.push({
                        SaftyMeasures: TemporaryElectricityJobMeasures[i],
                        Implementation: '已落实',//落实情况
                        ConfirmerSignature: '',//Mock.Random.cname(),//确认人签字
                    })
                }




                var result = {
                    UseUnit: '某单位',//作业单位
                    TerritorialDepartment: '某部门',//属地部门
                    WorkingArea: '某区域',//作业区域
                    JobLocation: '某位置',//作业位置
                    WorkContent: Mock.mock('@cword(20)'),//作业内容
                    AttachEquipmentJSA: Mock.mock('@cword(20)'),//附管线（设备）打开JSA:
                    contractor: Mock.Random.boolean(),//承包商
                    DangerousMedium: Mock.mock('@cword(20)'),//涉及的危险介质（包括第二能源）
                    HazardIdentifications: HazardIdentifications,//危害识别
                    HazardIdentificationChecked: ['气体', '压力', '毒性'],//危害识别选中项
                    CleanUps: CleanUps,//安全措施-清理
                    CleanUpChecked: ['氮气置换', '排气'],//安全措施-清理被选中
                    Isolations: Isolations,//安全措施-隔离
                    IsolationChecked: ['双重隔离', '已上锁挂签'],//安全措施-隔离被选中
                    GasLeakControlDevices: GasLeakControlDevices,//安全措施-液/气泄漏的控制设备
                    GasLeakControlDeviceChecked: ['抽吸系统', '水管'],////安全措施-液/气泄漏的控制设备被选中
                    PersonalProtectiveEquipments: PersonalProtectiveEquipments,//个人防护装备
                    PersonalProtectiveEquipmentChecked: ['防护眼镜', '防毒面具', '耳罩（塞）'],//个人防护装备被选中
                };
                return {
                    result: "Success", message: null, data: result
                };
            }); break;
            //获取InputTable数据
            case '/api/PipelineOpenJob/getInputTableMock': Mock.mock(host + url + '?' + param, type, function (options) {

                var InputTable = [];
                for (var i = 0; i < 3; i++) {
                    InputTable.push({
                        HazardousEnergy: Mock.mock('@cword(10)'),//危险能量（物料）
                        Harm: Mock.mock('@cword(10)'),//危害
                        IsolationMethod: Mock.mock('@cword(10)'),//隔离方法
                        IsolationPoint: Mock.mock('@cword(10)'),//隔离点
                        LockedSigner: Mock.Random.cname(),//上锁挂签人
                    })
                }
                var result = {
                    ReportTime: 'RT' + Mock.Random.date(),//填报时间
                    SignNumber: Mock.Random.id(),//编号
                    TerritorialDepartment: '某部门',//属地部门
                    OperatingUnit: '某单位',//作业单位
                    WorkingArea: '某区域',//作业区域
                    WorkingTime: Mock.Random.datetime(),//作业时间
                    WorkContent: Mock.mock('@cword(20)'),//作业内容
                    IsolationSystem: Mock.mock('@cword(20)'),//隔离系统（设备）
                    InputTable: InputTable,
                    IdentifyPeople: Mock.Random.cname(),//辨识人
                    IdentifyPeopleTime: Mock.Random.datetime(),//签字时间
                    Approver: Mock.Random.cname(),//审批人
                    ApproverTime: Mock.Random.datetime(),//签字时间

                };
                return {
                    result: "Success", message: null, data: result
                };
            }); break;





                
        }
    }
}
//高处作业安全许可证审批
var $HighTask = {
    DealUrl: function (vueApp, url, type, param) {
        var my = vueApp;
        switch (url) {
            //获取Input数据
            case '/api/HighTask/getMock': Mock.mock(host + url + '?' + param, type, function (options) {

                var SaftyMeasures = [];//安全措施
                for (var i = 0; i < HighTaskMeasures.length; i++) {
                    SaftyMeasures.push({
                        SaftyMeasures: HighTaskMeasures[i],
                        Implementation: '已落实',//落实情况
                        ConfirmerSignature: '',//Mock.Random.cname(),//确认人签字
                    })
                }
                var result = {
                    OperatingUnit: '某单位',//作业单位
                    BelongUnit: '某单位',//属地单位
                    WorkingArea: '某区域',//作业区域
                    JobLocation: '某位置',//作业位置
                    WorkContent: Mock.mock('@cword(20)'),//作业内容
                    InvolvingOtherSpecialOperations: Mock.mock('@cword(20)'),//涉及其他特殊作业
                    contractor: Mock.Random.boolean(),//承包商
                    WorkHeight: 50,//作业高度
                    HighTaskMeasures: SaftyMeasures,

                };
                return {
                    result: "Success", message: null, data: result
                };
            }); break;
        }
    }
}
//断路作业安全许可证审批
var $BrokenCircuit = {
    DealUrl: function (vueApp, url, type, param) {
        var my = vueApp;
        switch (url) {
            //获取Input数据
            case '/api/BrokenCircuit/getMock': Mock.mock(host + url + '?' + param, type, function (options) {

                var SaftyMeasures = [];//安全措施
                for (var i = 0; i < BrokenCircuitMeasures.length; i++) {
                    SaftyMeasures.push({
                        SaftyMeasures: BrokenCircuitMeasures[i],
                        Implementation: '已落实',//落实情况
                        ConfirmerSignature: '',//Mock.Random.cname(),//确认人签字
                    })
                }
                var result = {
                    CauseDisconnection: Mock.mock('@cword(20)'),//断路原因
                    ApplicationUnit: '某单位',//申请单位
                    OperatingUnit: '某单位',//作业单位
                    JobStartTime: Mock.Random.datetime(),//断路时间
                    contractor: Mock.Random.boolean(),//承包商
                    SchematicDiagram: Mock.mock('@cword(200)'),//     断路地段示意图及交通组织方案：


                    BrokenCircuitMeasures: SaftyMeasures,

                };
                return {
                    result: "Success", message: null, data: result
                };
            }); break;
        }
    }
}
//动土作业安全许可证审批
var $EarthmovingTask = {
    DealUrl: function (vueApp, url, type, param) {
        var my = vueApp;
        switch (url) {
            //获取Input数据
            case '/api/EarthmovingTask/getMock': Mock.mock(host + url + '?' + param, type, function (options) {

                var ConcealedFacilitiesList = [];
                for (var i = 0; i < ConcealedFacilities.length; i++) {
                    ConcealedFacilitiesList.push({
                        ConcealedFacilities: ConcealedFacilities[i],
                        ConcealedFacilitiesChecked: Mock.Random.boolean()+'',
                        PipeDiameterStrike: Mock.mock('@cword(10)'),
                        IsolationValve: Mock.mock('@cword(10)'),
                        ReferencePictureNumber: Mock.mock('@cword(10)'),
                    })
                }

                var SaftyMeasures = [];//安全措施
                for (var i = 0; i < EarthmovingTasktMeasures.length; i++) {
                    SaftyMeasures.push({
                        SaftyMeasures: EarthmovingTasktMeasures[i],
                        Implementation: '已落实',//落实情况
                        ConfirmerSignature: '',//Mock.Random.cname(),//确认人签字
                    })
                }
                var result = {
                    ApplicationUnit: '某单位',//申请单位
                    applicant: '申请人',//申请人
                    OperatingUnit: '某单位',//作业单位
                    JobLocation: '某地点',//作业地点
                    contractor: Mock.Random.boolean(),//承包商
                    IsSafeWorkProgram: Mock.Random.boolean(),//是否附安全工作方案
                    JobStartTime: Mock.Random.datetime(),//断路时间
                    EarthContent: Mock.mock('@cword(200)'),// 动土内容
                    EarthmovingTasktMeasures: SaftyMeasures,//动土作业安全许可证审批-安全措施
                    ConcealedFacilities: ConcealedFacilitiesList,//动土作业安全许可证审批-隐蔽设施情况

                };
                return {
                    result: "Success", message: null, data: result
                };
            }); break;
        }
    }
}
//动土作业安全许可证审批-隐蔽设施情况
var ConcealedFacilities = [
    '公用设施线路',
    '循环水管道',
    '自来水管道',
    '污水沟或管道',
    '窨井',
    '压缩气体',
    '电气仪表线路',
    '工艺管线',
    '消防管线',
    '其它隐蔽设施',
    '其他',
]

//动土作业安全许可证审批-安全措施
var EarthmovingTasktMeasures = [
    '将动土地点的电（光）缆、工艺管线等地下设施信息告知作业单位并监督安全作业活动。',
    '涉及其它特种作业安全许可的，已按要求办理特种作业安全许可手续。',
    '作业现场已按要求设置了隔离和警示。',
    '人员出入口和撤离安全措施确定：□梯子；□修坡道；□其他。',
    '作业前对作业人员实施了安全教育。',
    '按简图划线和立桩。',
    '动土地点土层有电（光）缆、工艺管线等地下设施时，作业时使用手工工具轻挖。',
    '施工期间，遵守公司《相关方安全管理规定》。',
    '地下通讯电（光）缆、局域网络电（光）缆已确认了保护措施。',
    '地下电力电缆已确认了保护措施。',
    '地下供排水、工艺管线已确认了保护措施。',
    '消防管线已确认了保护措施。',
    '进行了危害气体检测。'
]
//断路作业安全许可证审批-安全措施
var BrokenCircuitMeasures = [
    '作业前制定交通组织方案',
    '根据作业内容会同作业单位编制相应应急处理措施，并配有灭火器、消防水带等消防器材。',
    '作业现场设置围栏等隔离设施，夜间要悬挂警示灯',
    '断路路口设立断路明显的标志',
    '施工方案经过审核通过',
    '特种施工人员持证上岗',
    '《断路安全作业许可证》审核签字合格',
    '《断路安全作业许可证》审核签字合格',
    '应按《断路安全作业许可证》确定的内容和作业范围作业',
]

//高处作业安全许可证审批-安全措施
var HighTaskMeasures = [
    '作业人员身体条件符合要求',
    '作业人员携带工具袋',
    '垂直分层作业中间有隔离',
    '30米以上作业配备通讯工具',
    '作业人员着装符合工作要求',
    '设置围栏、警戒线、夜间警示灯',
    '梯子符合安全要求',
    '员工进行了充分的培训',
    '作业人员配戴全身式安全带',
    '作业点照明充足',
    '在非承重物上作业时搭设承重板',
    '员工清楚坠落风险',
    '锚固点选择适当',
    '锚固点独立于工作面',
    '锚固点支撑牢固',
    '锚固点充足',
    '锚固点设置高于肩部',
    '钢丝绳直径在6mm以上',
    '设置专门的锚固点',
    '用索人员数量合适',
    '水平生命线无磨损',
    '水平生命线有初始松弛度',
    '全身式安全带连接部件齐全',
    '完成全身式安全带使用培训',
    '全身式安全带检查合格',
    '坠落阻止器与救生索匹配',
    '坠落阻止器有自锁装置',
    '坠落阻止器在可用状态',
    '坠落阻止器安装方向正确',
    '坠落阻止器有操纵杆',
    '坠落阻止器检查合格',
    '使用双锁式钩锁',
    '钩锁进行了受压 / 磨损 / 变形 / 弹性检查',
    '钩锁使用了产品允许的方式连接',
    '系索不超过1.8米',
    '系索是双重系索',
    '系索是机械钩锁',
    '系索可以手动调节',
    '系索有缓冲装置',
    '垂直生命线不是用来作平衡',
    '垂直生命线无刃口接触',
    '垂直生命线有侧向摆动防护',
    '垂直生命线有连接 / 断开保护',
]
//管线打开作业-安全措施-个人防护装备
var PersonalProtectiveEquipments = [
    { key: '1', value: '防护眼镜', },
    { key: '2', value: '防护手套', },
    { key: '3', value: '正压式呼吸器', },
    { key: '4', value: '防静电服装', },
    { key: '5', value: '安全帽 ', },
    { key: '6', value: '化学防护服', },
    { key: '7', value: '防毒面具', },
    { key: '8', value: '耳罩（塞）', },
    { key: '9', value: '安全鞋', },
    { key: '10', value: '安全带', },
    { key: '11', value: '其他（请注明）', },
]
//管线打开作业-安全措施-液/气泄漏的控制设备
var GasLeakControlDevices = [
    { key: '1', value: '抽吸系统', },
    { key: '2', value: '通风系统', },
    { key: '3', value: '水管', },
    { key: '4', value: '安全冲淋', },
    { key: '5', value: '泄露收集桶 ', },
    { key: '6', value: '砂袋', },
    { key: '7', value: '吸油物品', },
    { key: '8', value: '区域隔离或警戒线', },
    { key: '9', value: '其他（请注明）', },
]
//管线打开作业-安全措施-隔离
var Isolations = [
    { key: '1', value: '双重隔离', },
    { key: '2', value: '双隔断阀', },
    { key: '3', value: '单隔断阀', },
    { key: '4', value: '已上锁挂签', },
    { key: '5', value: '其他（请注明） ', },
]
//管线打开作业-安全措施-清理
var CleanUps = [
    { key: '1', value: '氮气置换', },
    { key: '2', value: '空气吹扫', },
    { key: '3', value: '化学清洗', },
    { key: '4', value: '水洗', },
    { key: '5', value: '蒸煮 ', },
    { key: '6', value: '泄压', },
    { key: '7', value: '排气', },
    { key: '8', value: '排液', },
    { key: '9', value: '气体检测合格', },
    { key: '10', value: '其他（请注明）', },
]
//管线打开作业-危害识别
var HazardIdentifications = [
    { key: '1', value: '液体', },
    { key: '2', value: '气体', },
    { key: '3', value: '＞60℃或＜-10℃', },
    { key: '4', value: '压力', },
    { key: '5', value: '可燃性 ', },
    { key: '6', value: '腐蚀性', },
    { key: '7', value: '毒性', },
    { key: '8', value: '辐射性', },
    { key: '9', value: '其他（请注明）', },
]


//临电作业-安全措施
var TemporaryElectricityJobMeasures = [
    '电源取电点完好。',
    '电源线绝缘性能良好。',
    '用电设备、线路容量、负荷符合要求。',
    '临时配电箱、用电设备保护接地/接零良好。',
    '在防爆场所使用的临时电源、电气元件和线路达到相应的防爆等级要求。',
    '临时用电设施安有漏电保护器，移动工具、手持工具应一机一闸一保护，并确保在保护范围内。',
    '临时用电线路架空高度在装置内不低于2.5m，跨路电线不低于5m；没有架空条件的地设电缆必须加装可靠的穿管、扣盖等防护措施，并有警示标识。',
    '临时用电线路不得采用裸线，不得在树上或脚手架上架设；临时线路布线整齐规范。',
    '严禁带载送电；若涉及动火作业，应在动火证办理完成后，方可（试）送电。',
    '安装临时线路人员持有电工作业操作证。',
    '用电设备防护装置齐全有效。',
    '现场临时用电配电盘、箱应有防雨、防潮措施。',
    '暗管埋设及地下电缆线路设有“走向标志”和安全标志。',
    '用电线路不受高温、振动、腐蚀、积水、机械损伤的影响。',
    '在距配电箱、开关及电焊机等电气设备15m范围内，严禁存放易燃、易爆、腐蚀性等危险物品。',
    '临时线路已避开易燃易爆化学品敞口容器、取样口、放空口、放净口等危险区域。',
]
//盲板抽堵-安全措施
var BlindPlateDrainageMeasures = [
    '作业前组织安全教育',
    '作业人员事先与车间值班负责人取得联系，确保通信畅通',
    '按规范穿戴劳保用品',
    '作业过程中安排专人监护',
    '盲板外观平整、光滑，无裂纹和空洞等缺陷',
    '盲板符合管道内介质性质、温度压力要求',
    '盲板直径依据管道法兰密封面直径制作，厚度符合强度要求',
    '盲板有盲板标识',
    '在管道上进行抽堵作业时，作业点压力已经降至常压',
    '已经做好危险品泄漏应急控制措施',
    '在强腐蚀性介质的管道、设备上进行抽堵盲板作业时，作业人员采取了防止酸碱灼伤的措施',
    '在介质温度较高、可能对作业人员造成烫伤的情况下，作业人员采取了防烫措施',
    '现场有盲板编号标识牌，编号与盲板位置图一致',
    '在同一管道上没有同时进行2处（含）以上盲板抽堵作业',
    '涉及生产系统高危险场所，抽堵作业点30米内不得有动火作业，应使用防爆灯具、防爆工具，禁止铁器敲击作业，作业人员应穿防静电工作服、防静电工作鞋'
]

//受限空间-安全措施
var ConfinedSpaceMeasures = [
    '作业人员用加长、不产生火花、防爆等安全工具清除设备受限空间内的积渣、积垢等物料。',
    '与塔、釜、罐、槽、炉等设备受限空间连接的物料阀门、管线加盲板隔离，列出盲板清单，并落实拆装盲板责任人。',
    '设备经过彻底置换、吹扫、蒸煮、清洗等环节，不得留有死角。',
    '设备打开通风孔进行自然通风，温度适宜人员作业；必要时采用强制通风或佩戴空气呼吸器，严禁用通“纯氧”的方法补充氧。',
    '检查受限空间进出口通道，不得有阻碍人员进出的障碍物。',
    '作业监护措施：消防器材（ ）、救生绳（ ）、气防装备（ ）。',
    ' 整个作业过程中作业单位必须安排专人监护并确保安全联系方式有效，同时有应急救护措施。',
    '进入受限空间内的作业人员，每次工作时间不宜过长，应安排轮换作业或及时休息。',
    '所有作业参与人员已经接受作业培训，并符合要求。',
    '带电源的设备已可靠切断电源（验电笔检验），挂“禁止合闸”标志牌，执行上锁挂签制度；受限空间照明电压应小于等于36V，在潮湿容器、狭小容器内作业电压应小于等于12V。',
    '进入受限空间，必须按照要求检测含氧量，并将分析结果提供给属地部门。',
    ' 盛装过可燃有毒液体、气体的设备受限空间，作业前分析可燃、有毒有害气体含量，作业前30分钟内监测，检测分析的结果提供给属地部门。',
];
//涉及其他特殊作业
var InvolvingOtherSpecialOperations = [
    { key: '1', value: '动火', },
    { key: '2', value: '动土', },
    { key: '3', value: '吊装', },
    { key: '4', value: '高处', },
    { key: '5', value: '盲板抽堵 ', },
    { key: '6', value: '临时用电', },
    { key: '7', value: '断路', },
]
//作业类型
var JobTypes = [
    { key: '1', value: '焊接', },
    { key: '2', value: '压力吹扫', },
    { key: '3', value: '锤击', },
    { key: '4', value: '挖掘', },
    { key: '5', value: '燃烧 ', },
    { key: '6', value: '切削', },
    { key: '7', value: '钻孔', },
    { key: '8', value: '蒸煮', },
    { key: '9', value: '化学清洗', },
    { key: '10', value: '喷涂', },
    { key: '11', value: '打磨', },
    { key: '12', value: '用电 ', },
    { key: '13', value: '明火', },
    { key: '14', value: '其他', },
];
//可能的风险
var MaybeRisks = [
    { key: '1', value: '爆炸性粉尘', },
    { key: '2', value: '易燃性物质', },
    { key: '3', value: '腐蚀性液体', },
    { key: '4', value: '挥发性物质', },
    { key: '5', value: '高压介质 ', },
    { key: '6', value: '触电', },
    { key: '7', value: '有毒有害化学品', },
    { key: '8', value: '高温、低温', },
    { key: '9', value: '惰性气体', },
    { key: '10', value: '噪音', },
    { key: '11', value: '火花、静电', },
    { key: '12', value: '蒸汽 ', },
    { key: '13', value: '空间内活动受限', },
    { key: '14', value: '机械能量集聚', },
    { key: '15', value: '淹没、掩埋', },
    { key: '16', value: '坠落、滑跌', },
    { key: '17', value: '转动设备', },
    { key: '18', value: '其他', },
]
//=====================以下部分无需转移到JobSafetyManagement.js=======================


var PersonInChargeTree = [
    { "id": 100, "pid": 0, "name": "总经理" },
    { "id": 200, "pid": 0, "name": "生产部" },
    { "id": 300, "pid": 0, "name": "技术科" },
    { "id": 400, "pid": 0, "name": "工程设备科" },
    { "id": 100001, "pid": 100, "name": "傅明" },
    { "id": 100002, "pid": 100, "name": "熊艳" },
    { "id": 200001, "pid": 200, "name": "胡伟" },
    { "id": 200002, "pid": 200, "name": "胡博" },
    { "id": 300001, "pid": 300, "name": "沈平" },
    { "id": 300002, "pid": 300, "name": "段平" },
    { "id": 400001, "pid": 400, "name": "陆勇" },
]
//生成treeNode随机数
function randomTreeNode(tree, pid, b) {
    var result = '';
    var tempArray = [];
    if (!b) {
        var idArray = [];
        var pidArray = [];
        tree.forEach(function (v, i) {
            if (pid) {
                if (pid == v.pid) {
                    idArray.push(v.id);
                    pidArray.push(v.pid);
                }
            }
            else {
                idArray.push(v.id);
                pidArray.push(v.pid);
            }
        })
        tempArray = idArray.filter(function (v) { return pidArray.indexOf(v) === -1 });
        result = tempArray[Math.floor(Math.random() * tempArray.length)] + '';
    }
    else {
        tree.forEach(function (v, i) {
            if (v.pid + '' == '0') {
                tempArray.push(v.id);
            }
        })
        result = tempArray[Math.floor(Math.random() * tempArray.length)] + '';
    }
    return result;
}
//根据tree数据中的id获取对应的name值
function getTreeValue(tree, id) {
    var value = '';
    tree.forEach(function (v, i) {
        if (v.id + '' == id + '') {
            value = v.name;
            return;
        }
    })
    return value;
}















